home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 36 / qemmpat.zip / WIN300A.PAT < prev    next >
Text File  |  1991-03-11  |  8KB  |  191 lines

  1.  
  2.         Quarterdeck Technical Note
  3.  
  4.                 Patching QEMM-386 5.10 and 5.11 to allow Windows 
  5.               3.00A (date 10-31-90) to run in standard mode
  6.  
  7.         Background: Windows 3, in both its standard and 
  8.               enhanced modes, puts the machine into protected 
  9.               mode without using the VCPI (Virtual Control 
  10.               Program Interface) specification, which is intended 
  11.               to allow applications to go into protected mode 
  12.               when a protected-mode memory manager is already 
  13.               present.  Normally this would make it impossible to 
  14.               run Windows standard and enhanced modes with QEMM-
  15.               386 active.  Microsoft and Quarterdeck have 
  16.               collaborated on an enhanced-mode solution that 
  17.               allows a peaceful transfer of expanded memory 
  18.               management duties from QEMM-386 to Windows enhanced 
  19.               mode and back again.  However, this solution makes 
  20.               use of a Windows interface that exists only for 
  21.               enhanced mode, not for standard mode.  In order to 
  22.               extend its support for Windows 3.00 so that 
  23.               standard mode can be run under QEMM-386's 
  24.               management as well as real and enhanced mode, QEMM-
  25.               386 patches the Windows file DOSX.EXE in memory to 
  26.               make Windows in standard mode behave like a VCPI 
  27.               client.  This solution works well for the version 
  28.               of Windows in existence at the time of the release 
  29.               of QEMM-386 version 5.10 and 5.11.  But the method 
  30.               of patching that QEMM-386 5.10 and 5.11 use is 
  31.               specific to the first release of Windows (dated 5-1-
  32.               90); it depends on specific bytes of code being at 
  33.               specific offsets in the DOSX.EXE file.
  34.  
  35.                 Windows 3.00A (identified on the outside of some 
  36.               packages as Windows 3.00 with a series of 4 plus 
  37.               signs beneath the version), dated 10-31-90, was 
  38.               released almost two months after QEMM-386 5.11.  
  39.               Future versions of QEMM-386 will detect Windows 
  40.               3.00A and adjust the QEMM patching method to allow 
  41.               for the differences between Windows versions.  
  42.               However, QEMM-386 5.10 and 5.11, in the versions 
  43.               that are shipped, will detect that the version of 
  44.               DOSX.EXE is not the one that QEMM-386 is familiar 
  45.               with, and will tell Windows standard mode not to 
  46.               start up, to prevent an exception error from the 
  47.               386 processor. The symptom is that Windows puts up 
  48.               its first graphics screen, then returns the system 
  49.               to the DOS prompt, which appears on top of the 
  50.               Windows 3.0 logo.  The video card remains in 
  51.               graphics mode.
  52.  
  53.                 Quarterdeck customers who contact us about this 
  54.               problem can receive a new QEMM-386 disk that 
  55.               addresses the problem - when a new version of QEMM-
  56.               386 is released.  In the meantime, QEMM-386 can be 
  57.               patched to make it compatible with the new Windows 
  58.               standard mode program.  It is important to note 
  59.               that the following patch, while making QEMM-386 
  60.               compatible with the 10-31-90 Windows standard mode 
  61.               program, also makes QEMM-386 incompatible with the 
  62.               original 5-1-90 Windows standard mode program.  
  63.               Keep a separate copy of QEMM386.SYS available for 
  64.               each Windows version if you think you might be 
  65.               using both versions of Windows.
  66.  
  67.         The following procedure is intended to prevent 
  68.               Windows 3.00A returning the machine to the DOS 
  69.               prompt shortly after starting Windows in standard 
  70.               mode.
  71.         -------------------------------------------------
  72.  
  73.         1) Make a copy of the QEMM386.SYS file in your 
  74.               QEMM directory.  We are about to alter your current 
  75.               copy of QEMM386.SYS; the copy you make will serve 
  76.               as a backup in case this operation fails.
  77.  
  78.                     COPY C:\QEMM\QEMM386.SYS C:\QEMM\QEMMOLD.SYS
  79.  
  80.         (If your QEMM386.SYS is not located in the QEMM 
  81.               directory of the C: drive, change the path 
  82.               accordingly.)
  83.  
  84.         2) Go to the DOS directory on the hard disk and 
  85.               type:
  86.  
  87.               DEBUG C:\QEMM\QEMM386.SYS
  88.  
  89.         (If your QEMM386.SYS is not located in the QEMM 
  90.               directory of the C: drive, change the path 
  91.               accordingly.)
  92.  
  93.         Hit the Enter key; you should the the DEBUG 
  94.               prompt, which is a hyphen.
  95.  
  96.         3) At the DEBUG prompt, type:
  97.  
  98.               S 100 L F000 B5 19
  99.  
  100.         Hit the Enter key; DEBUG should return two 
  101.               segment addresses and offsets:
  102.  
  103.               xxxx:yyyy
  104.                   xxxx:zzzz
  105.      
  106.               (Both xxxx figures should be the same number.)
  107.  
  108.          4) At the DEBUG prompt again, use the segment 
  109.               addresses and offsets that were just returned to 
  110.               give the DEBUG commands, one at a time:
  111.  
  112.               E xxxx:yyyy D5 
  113.                   E xxxx:zzzz D5 
  114.    
  115.          The addresses that DEBUG returned in step 3 
  116.               should be used in place of the addresses xxxx:yyyy 
  117.               and xxxx:zzzz, which we use as examples.  Hit the 
  118.               Enter key after each command; the DEBUG prompt 
  119.               should return in a moment.
  120.  
  121.         5) At the DEBUG prompt, type:
  122.  
  123.               S 100 L F000 C0 28
  124.  
  125.         Hit the Enter key; DEBUG should return a
  126.               segment address and an offset:
  127.  
  128.               xxxx:yyyy
  129.  
  130.          6) At the DEBUG prompt again, use the segment 
  131.               address and offset that was just returned to give 
  132.               the DEBUG command:
  133.  
  134.               E xxxx:yyyy 20 29
  135.    
  136.          The address that DEBUG returned in step 5 should 
  137.               be used in place of the address xxxx:yyyy, which we 
  138.               use as an example.  Hit the Enter key; the DEBUG 
  139.               prompt should return in a moment.
  140.  
  141.         7) At the DEBUG prompt, type:
  142.  
  143.               S 100 L F000 C8 1A
  144.  
  145.         Hit the Enter key; DEBUG should return a 
  146.               segment address and an offset:
  147.  
  148.               xxxx:yyyy
  149.  
  150.          8) At the DEBUG prompt again, use the segment 
  151.               address and offset that was just returned to give 
  152.               the DEBUG command:
  153.  
  154.               E xxxx:yyyy E8
  155.    
  156.          The address that DEBUG returned in step 7 should 
  157.               be used in place of the address xxxx:yyyy, which we 
  158.               use as an example.  Hit the Enter key; the DEBUG 
  159.               prompt should return in a moment.
  160.  
  161.         9) At the DEBUG prompt, type
  162.  
  163.               W
  164.  
  165.         Hit the Enter key; DEBUG will announce that it is 
  166.               writing a certain number of bytes, then it will 
  167.               return the DEBUG prompt.
  168.  
  169.         10) At the DEBUG prompt, type
  170.  
  171.               Q
  172.  
  173.         Hit the Enter key to exit DEBUG and return to DOS.
  174.  
  175.         --------------------------------------------------
  176.  
  177.         If the system fails after you perform this patch, 
  178.               copy the backup of QEMM386 that you made back to 
  179.               its original name.  
  180.  
  181.               COPY C:\QEMM\QEMMOLD.SYS C:\QEMM\QEMM386.SYS
  182.  
  183.         (If your QEMM386.SYS is not located in the QEMM 
  184.               directory of the C: drive, change the path 
  185.               accordingly.)
  186.  
  187.         You may then wish to try the above procedure 
  188.               again, in case a mistake was made.
  189.  
  190.              * * *   E N D   O F   F I L E    * * *
  191.